package cn.iocoder.yudao.module.exam.controller.admin.paper.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 试卷分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PaperPageReqVO extends PageParam {

    @Schema(description = "试卷名称", example = "赵六")
    private String paperName;

    @Schema(description = "考试时长（分钟）")
    private Integer duration;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "版本号")
    private Integer version;

    @Schema(description = "试卷类型 1随机试卷 0固定出题", example = "1")
    private Integer paperType;

    @Schema(description = "单选题数量")
    private Integer singleChoiceNum;

    @Schema(description = "多选题数量")
    private Integer multipleChoiceNum;

    @Schema(description = "判断题数量")
    private Integer trueFalseNum;

    @Schema(description = "简答题数量")
    private Integer shortAnswerNum;

    @Schema(description = "问答题数量")
    private Integer essayNum;

    @Schema(description = "单选题分值")
    private Integer singleChoiceScore;

    @Schema(description = "多选题不全选分值")
    private Integer multipleChoicePartialScore;

    @Schema(description = "多选题全对分值")
    private Integer multipleChoiceFullScore;

    @Schema(description = "判断题分值")
    private Integer trueFalseScore;

    @Schema(description = "简答题分值")
    private Integer shortAnswerScore;

    @Schema(description = "问答题分值")
    private Integer essayScore;

    @Schema(description = "简单题目数量")
    private Integer easyNum;

    @Schema(description = "中等题目数量")
    private Integer mediumNum;

    @Schema(description = "困难题目数量")
    private Integer difficultNum;

    @Schema(description = "试卷总分")
    private Integer totalScore;

    @Schema(description = "及格线")
    private Integer passingScore;

}